/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain;


import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.comac.ins.common.mybatis.core.domain.BaseEntity;
import com.comac.ins.isfd.constant.enums.IsfdLargeFileStatusEnum;
import com.comac.ins.isfd.constant.enums.IsfdLargeFileTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 要素数据大文件对象 isfd_large_file
 *
 * @author hxloongs
 * @date 2025-03-25
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("isfd_large_file")
public class IsfdLargeFile extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "upload_id")
    private String uploadId;

    /**
     * 上传时刻的时间戳
     */
    private Long uploadTime;

    /**
     * 文件类型
     * @see IsfdLargeFileTypeEnum
     */
    private String type;

    /**
     * 文件全名
     */
    private String fullFileName;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 文件大小
     */
    private Long fileSize;

    /**
     * 文件后缀
     */
    private String fileSuffix;

    /**
     * 存储地址
     */
    private String fileUrl;

    /**
     * 文件哈希值
     */
    private String fileHash;

    /**
     * 分片大小
     */
    private Long chunkSize;

    /**
     * 文件上传状态,0-未完成，可继续上传；1-上传成功；2-上传失败
     *
     * @see IsfdLargeFileStatusEnum
     */
    private Integer status;
}
